package week_3.homework;

import java.util.Scanner;

//用循环数组实现杨辉三角。
/*思想：使用循环队列输出杨辉三角
（1）用数组实现循环队列（要考虑扩容问题，否则不加分）；
（2）输出杨辉三角；
（3）代码运行结果添加学号水印，并上传；代码传到码云，附上码云链接。
*/
public class Pascal1 {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        System.out.println("请输入你想看到的杨辉三角的行数:");
        int x = scan.nextInt();//输入几层是几层
        CircularArrayQueue<Integer> Yanghui = new CircularArrayQueue<Integer>();
        Yanghui.enqueue(0);
        Yanghui.enqueue(1);
        for (int i =0;i<x+1;i++){
            System.out.print(" ");
        }
        System.out.println(1);

        for(int n=0;n<x-1;n++)//决定输出的行数
        {
            Yanghui.enqueue(0);
            for(int q=0;q<x-n;q++)
            {
                System.out.print(" ");
            }
            for(int m=1;m<Yanghui.size();m++)
            {
//                Yanghui.enqueue(1);
                int a = Yanghui.first();
                Yanghui.dequeue();
                int b = Yanghui.first();
                int num =a+b;
                Yanghui.enqueue(num);
                System.out.print(num+" ");
            }
            System.out.println();
        }

        }
    }


